package jmine.tec.report.export;

import java.io.IOException;
import java.io.OutputStream;

import jmine.tec.report.api.Report;
import jmine.tec.report.api.ReportRenderer;

/**
 * Interface de exportador que transforma o relatório dado em um PDF
 * 
 * @author lundberg
 */
public interface ReportFileExporter extends ReportRenderer {

    /**
     * Cria o arquivo do relatório e envia para o outputstream
     * 
     * @param outputStream outputStream
     * @param report report
     * @throws IOException IOException
     */
    void export(OutputStream outputStream, Report report) throws IOException;

    /**
     * Obtém o caminho do logotipo que deve ser apresentado no botão associado ao tipo.
     * 
     * @return caminho ao logotipo.
     */
    String getLogoPath();

    /**
     * @return String
     */
    String getContentType();

    /**
     * @return String
     */
    String getFileSuffix();
}
